home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / CRS / crs06.d81 / ltkedit2.prg / лT.к сысген еDIT (.txt) < prev   
Commodore BASIC  |  2009-10-10  |  7KB  |  212 lines

  1. 1 REM"[215]RITTEN BY [208].[194]ERGERON 04/15/92  "
  2. 2 REM"   [211]UBTER.[206]TWK(203)5893273      "
  3. 3 REM"                                "
  4. 4 REM" [204]T.[203]ERNAL [211][217][211][199][197][206] [197]DITOR 1.01   "
  5. 5 REM"          [205]ODIFIED ON 08/25/92  "
  6. 6 REM"                                "
  7. 10 POKE53280,0:POKE53281,0:PRINT"[147]"
  8. 20 DIMA(10),B(10),D(20,7),D$(20),DT(7,7),DS(4,7),DS$(4)
  9. 30 FORI=1TO4:READDS$(I):FORJ=0TO7:READDS(I,J):NEXT:NEXT
  10. 40 DV=8:X=0:SV=49152:DT=SV+14
  11. 50 OPEN15,DV,15:CLOSE15
  12. 60 IFST=0THENX=X+1:B(X)=DV
  13. 70 IFDV<15THENDV=DV+1:GOTO50
  14. 80 IFX=0THEN130
  15. 90 DV=X:X=0:FORI=1TODV
  16. 100 OPEN15,B(I),15:PRINT#15,"M-R"CHR$(198)CHR$(229)CHR$(1):GET#15,A$:A$=A$+CHR$(0)
  17. 110 IFASC(A$)=52ORASC(A$)=55THENX=X+1:A(X)=B(I):IFASC(A$)=55THENA(X)=A(X)+128
  18. 120 CLOSE15:NEXT:IFA(1)>0THEN140
  19. 130 PRINT"[150][206]O 1541/71 [196]RIVES [198]OUND![146]":STOP
  20. 140 IFA(2)=0THENI=1:GOTO210
  21. 150 PRINT"[147][152][[153] [196]RIVE [211]ELECTIONS [146][152]]"
  22. 160 FORI=1TOX:PRINT"[152][[158]"STR$(I)"[146][152]]- [155]15";:IFA(I)AND128THENPRINT"71";:GOTO180
  23. 170 PRINT"41";
  24. 180 PRINT"[152]: [196]EVICE[155]";A(I)AND127:NEXT
  25. 190 PRINT"[152][196]RIVE TO [213]SE[146] [[154]1-";MID$(STR$(X),2);"[146][152]]  [155]1[157][157][157][152]";
  26. 200 INPUTA$:I=VAL(A$):IFI<1ORI>XTHEN150
  27. 210 DV=A(I)AND127:GOSUB1790:GOSUB1520
  28. 220 REMMAIN MENU
  29. 230 PRINT"[147]      [152][[153] [205]AIN [205]ENU [146][152]]"
  30. 240 PRINT"[152][[158]1[146][152]]-[196]RIVE [212]ABLE [197]DITOR  [146]"
  31. 250 PRINT"[152][[158]2[146][152]]-[129][195]HANGE [211]ERIAL [206]UMBER[146]"
  32. 260 PRINT"[152][[158]3[146][152]]-[156][204]OAD [196]RIVE [204]IST     [146]"
  33. 270 PRINT"[152][[158]4[146][152]]-[159][204]OAD [211][217][211][199][197][206] [212]ABLE   [146]"
  34. 280 PRINT"[152][[158]5[146][152]]-[211]AVE [211][217][211][199][197][206] [212]ABLE   [146]"
  35. 290 PRINT"[152][[158]6[146][152]]-[129][196]ISPLAY [196]RIVE [212]ABLE [146]"
  36. 300 PRINT"[152][217]OUR [211]ELECTION[146] [[154]1-6[146][152],[150][209]=[209]UIT[146][152]]";
  37. 310 A$="":INPUTA$:IFA$="Q"THEN400
  38. 320 A=VAL(A$):IFA<1ORA>6THEN230
  39. 330 ONAGOTO340,350,360,370,380,390
  40. 340 GOSUB440:GOTO230
  41. 350 GOSUB1300:GOTO230
  42. 360 GOSUB1390:GOTO230
  43. 370 GOSUB1790:GOSUB1520:GOTO230
  44. 380 GOSUB1790:GOSUB1600:GOTO230
  45. 390 GOSUB1660:GOTO230
  46. 400 PRINT"[152][[150][197]XIT [211][217][211][199][197][206] [197]DITOR[146][152]]"
  47. 410 GOSUB1850:IFA$="N"THEN230
  48. 420 END
  49. 430 REMEDIT DRIVES
  50. 440 FORI=0TO7:FORJ=0TO7:DT(I,J)=PEEK(DT+I*8+J):NEXT:NEXT
  51. 450 DI=0:FORI=0TO7:X=0:FORJ=1TO7:IFDT(I,J)<>0THENX=1
  52. 460 NEXT:IFX=1THENDI=DI+1
  53. 470 NEXT
  54. 480 PRINT"[147]  [152][[153][196]RIVE [212]ABLE [197]DITOR[146][152]]"
  55. 490 PRINT"[152][[158]1[146][152]]-[129][193]DD A [196]RIVE        [146]"
  56. 500 PRINT"[152][[158]2[146][152]]-[159][197]DIT [197]XISTING [196]RIVE[146]"
  57. 510 PRINT"[152][[158]3[146][152]]-[210]EMOVE A [196]RIVE     [146]"
  58. 520 PRINT"[152][[196]RIVES [201]NSTALLED[146][152]]>[155]";DI
  59. 530 PRINT"[152][217]OUR [211]ELECTION[146] [[154]1-3[146][152],[150][209]=[209]UIT[146][152]]  [155]Q[157][157][157][152]";
  60. 540 A$="":INPUTA$:IFA$="Q"THEN580
  61. 550 A=VAL(A$):IFA<1ORA>3THEN480
  62. 560 ONAGOSUB620,700,770
  63. 570 GOTO480
  64. 580 PRINT"[152][[150][197]XIT [196]RIVE [212]ABLE [197]DITOR[146][152]]"
  65. 590 GOSUB1850:IFA$="N"THEN480
  66. 600 FORI=0TO7:FORJ=0TO7:POKE(DT+I*8+J),DT(I,J):NEXT:NEXT:RETURN
  67. 610 REMADD DRIVE
  68. 620 IFDI=7THENPRINT"[150][193]LL [196]RIVES [201]NSTALLED![146]":GOSUB1770:RETURN
  69. 630 PRINT"[147][154][196]RIVE[159]"DI"[154]IS THE NEXT AVAILABLE EMPTY"
  70. 640 PRINT"DRIVE SLOT. [200]IT 'Y' TO ADD A NEW HARD"
  71. 650 PRINT"DRIVE AT THIS LOCATION."
  72. 660 GOSUB1850:IFA$="N"THEN680
  73. 670 DE=DI:GOSUB850:IFXTHENDI=DI+1
  74. 680 RETURN
  75. 690 REMEDIT EXISTING
  76. 700 IFDI<1THENPRINT"[150][206]ONE [201]NSTALLED![146]":GOSUB1770:GOTO750
  77. 710 IFDI=1THENA=0:GOTO740
  78. 720 PRINT"[152][197]DIT [215]HICH [196]RIVE[146] [[154]0-"MID$(STR$(DI-1),2)"[146][152]]";
  79. 730 A$="":INPUTA$:A=VAL(A$):IFA<0ORA>DI-1THEN750
  80. 740 DE=A:GOSUB850
  81. 750 RETURN
  82. 760 REMDELETE DRIVE
  83. 770 IFDI<1THENPRINT"[150][206]ONE [201]NSTALLED![146]":GOSUB1770:GOTO830
  84. 780 PRINT"[147][154][196]RIVE[159]"DI-1"[154]IS THE LAST DRIVE. [200]IT 'Y'"
  85. 790 PRINT"TO DELETE THE DRIVE IN THIS SLOT."
  86. 800 GOSUB1850:IFA$="N"THEN780
  87. 810 DI=DI-1:DT(DI,0)=128:FORI=1TO7:DT(DI,I)=0:NEXT
  88. 820 PRINT"[150][196]RIVE [196]ELETED![146]":GOSUB1770
  89. 830 RETURN
  90. 840 REMCHOOSE DRIVE
  91. 850 X=0
  92. 860 PRINT"[147]  [152][[153][195]HOOSE A [200]ARD [196]RIVE[146][152]]"
  93. 870 PRINT"[152][[158]1[146][152]]-[198]ROM [196]EFAULTS       [146]"
  94. 880 PRINT"[152][[158]2[146][152]]-[156][198]ROM [204]OADED [204]IST    [146]"
  95. 890 PRINT"[152][[158]3[146][152]]-[159][205]ANUALLY            [146]"
  96. 900 GOSUB1880:PRINT"[152][[197]DITING [196]RIVE[146][152]]>[155]";DE;
  97. 910 A$="[152]([153]"+A$+"[205]B[152])":IFA<1THENA$="[152]([150]NONE[152])"
  98. 920 PRINTA$:PRINT"[152][217]OUR [211]ELECTION[146] [[154]1-3[146][152],[150][209]=[209]UIT[146][152]]  [155]Q[157][157][157][152]";
  99. 930 A$="":INPUTA$:IFA$="Q"THENRETURN
  100. 940 A=VAL(A$):IFA<1ORA>3THEN860
  101. 950 ONAGOSUB980,1060,1150
  102. 960 GOTO860
  103. 970 REMSELECT STANDARD DRIVE
  104. 980 PRINT"[147][152][[153][211]ELECT [211]TANDARD [196]RIVE[146][152]]"
  105. 990 FORI=1TO4:PRINT"[152][[158]"MID$(STR$(I),2)"[146][152]]-[155]"DS$(I):NEXT
  106. 1000 PRINT"[152][217]OUR [211]ELECTION[146] [[154]1-4[146][152],[150][209]=[209]UIT[146][152]]  [155]Q[157][157][157]";
  107. 1010 A$="":INPUTA$:IFA$="Q"THEN1040
  108. 1020 A=VAL(A$):IFA<1ORA>4THEN980
  109. 1030 FORI=0TO7:DT(DE,I)=DS(A,I):NEXT:X=1:GOSUB1760
  110. 1040 RETURN
  111. 1050 REMSELECT LIST DRIVE
  112. 1060 PRINT"[147]       [152][[153][196]RIVE [204]ISTINGS[146][152]]"
  113. 1070 IFDL<1THENPRINT"[150][206]ONE [204]OADED!":GOSUB1770:GOTO1130
  114. 1080 FORI=1TODL:PRINT"[152][[158]"RIGHT$(STR$(I),2)"[146][152]]-[155]"D$(I):NEXT
  115. 1090 PRINT"[152][217]OUR [211]ELECTION[146] [[154]1-"MID$(STR$(DL),2)"[146][152],[150][209]=[209]UIT[146][152]]  [155]Q[157][157][157]";
  116. 1100 A$="":INPUTA$:IFA$="Q"THEN1130
  117. 1110 A=VAL(A$):IFA<1ORA>DLTHEN1060
  118. 1120 FORI=0TO7:DT(DE,I)=D(A,I):NEXT:X=1:GOSUB1760
  119. 1130 RETURN
  120. 1140 REMSELECT MANUAL
  121. 1150 PRINT"[147]     [152][[205]ANUAL [196]RIVE [211]ELECT[146][152]]"
  122. 1160 PRINT"[154][217]OU MUST ENTER THE 8-BYTE DRIVE"
  123. 1170 PRINT"SPECIFICATION MANUALLY. [217]OU WILL BE"
  124. 1180 PRINT"ASKED TO ENTER THE BYTES ONE AT A TIME."
  125. 1190 PRINT"[197]NTER 'QUIT' AT ANY TIME TO ABORT THIS"
  126. 1200 PRINT"PROCESS."
  127. 1210 FORI=0TO7:A$="[157][157][157][157][157][157]"
  128. 1220 PRINT"[152][194]YTE[155]"I"[152][[154]0-255[146][152]] [155]"DT(DE,I)"[152]"LEFT$(A$,LEN(STR$(DT(DE,I)))+2);
  129. 1230 A$="":INPUTA$:IFA$="QUIT"ORA$="Q"THENI=7:GOTO1260
  130. 1240 A=VAL(A$):IFA<0ORA>255THEN1220
  131. 1250 A(I)=A
  132. 1260 NEXT:IFA$="QUIT"THENPRINT:PRINT"[150][197]NTRY [193]BORTED![146]":GOSUB1770:GOTO1280
  133. 1270 FORI=0TO7:DT(DE,I)=A(I):NEXT:X=1:GOSUB1760
  134. 1280 RETURN
  135. 1290 REMSERIAL # CHANGE
  136. 1300 PRINT"[147][154] [217]OUR SERIAL NUMBER IS [159]";
  137. 1310 FORI=0TO7:PRINTCHR$(PEEK(SV+I));:NEXT:PRINT
  138. 1320 PRINT"[152][201]S THAT CORRECT [[154][217]/[206][146][152]]  [155]Y[157][157][157][152]";
  139. 1330 A$="":INPUTA$:IFA$<>"Y"ANDA$<>"N"THEN1300
  140. 1340 IFA$="Y"THENRETURN
  141. 1350 PRINT"[152][201]NPUT [206]EW [211]ERIAL [206]UMBER[146] [[154]8 [196]IGITS[146][152]]"
  142. 1360 INPUTA$:IFLEN(A$)<>8THEN1350
  143. 1370 FORI=0TO7:POKE(SV+I),ASC(MID$(A$,I+1,1)):NEXT:GOTO1300
  144. 1380 REMREAD DRIVE DATA
  145. 1390 PRINT"[147][154][208]LEASE INSERT YOUR [196][210][201][214][197] [196][193][212][193] [196][201][211][203] IN":GOSUB1810
  146. 1400 A$="":INPUT"[152][206]AME OF [198]ILE TO [204]OAD  [155][211]EAGATE [211][195][211][201][157][157][157][157][157][157][157][157][157][157][157][157][157][157][152]";A$
  147. 1410 IFLEN(A$)<1ORLEN(A$)>16THEN1400
  148. 1420 IFLEFT$(A$,1)<>"-"THENA$="-"+A$:A$=LEFT$(A$,16)
  149. 1430 DL=0:PRINT"[152][[154][210]EADING [196]ATA[146][152]]";:OPEN2,DV,2,A$+",S,R"
  150. 1440 INPUT#2,A$:DL=VAL(A$)
  151. 1450 IFDL=0THENPRINT:PRINT"[150][206]OT A [214]ALID [196]ATA [198]ILE![146]":GOSUB1770:GOTO1390
  152. 1460 FORI=1TODL:FORJ=0TO7
  153. 1470 INPUT#2,A$:IFJ=0THEND$(I)=A$:PRINT".";:INPUT#2,A$
  154. 1480 D(I,J)=VAL(A$)
  155. 1490 NEXT:NEXT
  156. 1500 CLOSE2:PRINT:GOSUB1800:RETURN
  157. 1510 REMREAD SYSGEN
  158. 1520 PRINT"[152][[154][210]EADING [196]RIVE [212]ABLE[146][152]]";
  159. 1530 OPEN2,DV,2,"#":OPEN15,DV,15,"U1,2,0,18,18":INPUT#15,E,E$,T,S:IFETHEN1730
  160. 1540 FOR I=0 TO 255:PRINT".";:GET#2,A$:A$=A$+CHR$(0):POKESV+I,ASC(A$):NEXT
  161. 1550 INPUT#15,E,E$,T,S:IFETHEN1730
  162. 1560 CLOSE2:CLOSE15
  163. 1570 IFNOT(PEEK(SV+157)<>55ORPEEK(SV+158)<49ORPEEK(SV+158)>50)THENPRINT:RETURN
  164. 1580 E$="[150][206]OT A 7.1/7.2 [211][217][211][199][197][206] DISK![146]":GOTO1730
  165. 1590 REMWRITE SYSGEN
  166. 1600 PRINT"[152][[154][211]AVING [196]RIVE [212]ABLE[146][152]]";
  167. 1610 OPEN2,DV,2,"#":OPEN15,DV,15:PRINT#15,"B-P 2 0"
  168. 1620 FORI=0TO255:PRINT".";:PRINT#2,CHR$(PEEK(SV+I));:NEXT
  169. 1630 PRINT#15,"U2,2,0,18,18":INPUT#15,E,E$,T,S:IFETHEN1740
  170. 1640 CLOSE15:CLOSE2:PRINT:RETURN
  171. 1650 REMDISPLAY DRIVES
  172. 1660 PRINT"[147]      [152][[129][196]RIVE [212]ABLE[146][152]]"
  173. 1670 FORDE=0TO6:GOSUB1890
  174. 1680 PRINT"    [152][[158]"MID$(STR$(DE),2)"[146][152]]-";:A$="[153]("+A$+"[205]B)"
  175. 1690 IFA<1THENA$="[150][206]OT [201]NSTALLED"
  176. 1700 PRINTA$:NEXT
  177. 1710 PRINT" [154][208]RESS [210][197][212][213][210][206][146] TO [195]ONTINUE":GOSUB1820:RETURN
  178. 1720 REMERRORS
  179. 1730 CLOSE15:CLOSE2:PRINT:PRINT"[152][197]RROR ON [211]OURCE [196]ISK!":PRINTE$:STOP
  180. 1740 CLOSE15:CLOSE2:PRINT:PRINT"[152][197]RROR ON [196]ESTINATION [196]ISK!":PRINTE$:STOP
  181. 1750 REMDONE PROMPT/DELAY
  182. 1760 PRINT"[150][195]HANGES [211]AVED![146]"
  183. 1770 FORI=1TO2000:NEXT:RETURN
  184. 1780 REMDISK PROMPT
  185. 1790 PRINT"[147]";
  186. 1800 PRINT"[154][208]LEASE INSERT YOUR [211][217][211][199][197][206] [196][201][211][203] COPY IN"
  187. 1810 PRINT"DRIVE[159]"DV"[154]AND PRESS [210][197][212][213][210][206][146] TO CONTINUE."
  188. 1820 A$="":GETA$:IFA$<>CHR$(13)THEN1820
  189. 1830 RETURN
  190. 1840 REMY/N PROMPT
  191. 1850 INPUT"[152][193]RE [217]OU [211]URE[146] [[154][217]/[206][146][152]]  [155]N[157][157][157][152]";A$:IFA$<>"Y"ANDA$<>"N"THEN1850
  192. 1860 RETURN
  193. 1870 REMCALC DRIVE SIZE(MB)
  194. 1880 A=DT(DE,2)*DT(DE,3)*(DT(DE,4)*256+DT(DE,5)):GOTO1900
  195. 1890 A=PEEK(DT+DE*8+2)*PEEK(DT+DE*8+3)*(PEEK(DT+DE*8+4)*256+PEEK(DT+DE*8+5))
  196. 1900 A=INT(A/204.8)/10:A$=MID$(STR$(A),2)
  197. 1910 RETURN
  198. 1920 REMDEFAULT DATA
  199. 1930 DATA"[211]EAGATE [211][212]-225N(20[205]B)5.25[200]",128,0,17,4,2,100,0,0
  200. 1940 DATA"[205]INI[211]CRIBE 8425S(20[205]B)3.5[200]",192,0,17,4,2,100,0,0
  201. 1950 DATA"[208][195][211][212]225(20[205]B)",4,0,17,4,2,100,128,0
  202. 1960 DATA"[208][195]8650(40[205]B)",128,0,17,6,3,41,0,0
  203. 1970 REM
  204. 1980 REM"[208]LEASE SEND ANY CORRESPONDENCE
  205. 1990 [143]"SUCH AS DRIVE SPECS, SUGGESTED
  206. 2000 REM"IMPROVEMENTS, COMMENTS, OR
  207. 2010 [143]"REQUESTS TO THE AUTHOR:
  208. 2020 REM"             [208].[194]ERGERON
  209. 2030 [143]"             10 RIGHT$ROQUOIS (null)D.
  210. 2040 REM"             [194]RISTOL, [195][212] 06010
  211. 2050 [143]"(null)R USE THE PEEKPEEK(null) LINE ABOVE.
  212.